package edu.neu.swc.cloud.dao;

import edu.neu.swc.cloud.domain.Plan;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;


@Mapper
public interface PlanDao {
    /**
     * 依据订单ID找到对应的生产计划
     * @param ord_id
     * @return
     */
    List<Plan> findPlanByOrdId(int ord_id);

    /**
     * 添加生产计划，对应订单功能
     * @param plan
     */
    void addPlan(Plan plan);

    /**
     * 排产结束后需要从计划表中删除排产信息
     * @param ord_id
     */
    void removePlanByOrdId(int ord_id);

    /**
     * 获取计划个数
     * @param ord_id
     * @return
     */
    int getPlanCounts(@Param("ord_id") int ord_id);

    /**
     * 获取计划列表
     * @param ord_id
     * @param pageStart
     * @param pageSize
     * @return
     */
    List<Plan> findPlanByQuery(@Param("ord_id") int ord_id,
                               @Param("pageStart") int pageStart,
                               @Param("pageSize") int pageSize);
}
